home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1996 June / Software of the Month Club 1996 June.iso / mac / Children / Sokoban 2.0 / Sokoban docs < prev   
Text File  |  1996-02-01  |  16KB  |  173 lines

  1. Sokoban for the Macintosh  version 2.0
  2. by Scott Lindhurst
  3.  
  4. Contents
  5.      How to play (the short version)
  6.      Upgrading from previous versions
  7.      How to play (the long version, including shortcuts)
  8.      Designing your own levels
  9.      Playing on more than one computer
  10.      Common problems
  11.      History and other implementations
  12.      Hints and strategies
  13.      Distribution, Legal Stuff, and reaching me
  14.      Comments, suggestions, even (gasp!) bugs
  15.      About the author
  16.      System requirements
  17.      Version history
  18.  
  19.  
  20.      In Sokoban, you are trying to get treasure chests through a maze to their proper locations. The chests are so heavy that you can only push them one at a time. Be careful that you don╒t get a chest trapped in a corner; the chests have no handles so they can╒t be pulled at all.
  21.      There are over 150 different levels included (separated into several collections), and you can make your own levels, too. If you design good levels, I╒ll include them in the next version (and give you credit).
  22.  
  23.  
  24. How to play (the short version)
  25.      Run Sokoban, enter your name as the new player, move using the mouse or arrow keys or numeric keypad, and push all of the round treasures into the outlined squares.
  26.  
  27.  
  28. Upgrading from previous versions
  29.      Throw away the old version of Sokoban and start playing this version. If you want, you may move the Sokoban Scores file from your System Folder or Preferences Folder and put it in the same folder as Sokoban 2.0. The old levels 51-85 are now part of the ╥Extra╙ collection; don╒t worry, the game will still know if you completed them (with 3 exceptions: the incredibly easy levels 51, 52, and 53 were replaced by new harder levels, so the game marks them as being uncompleted).
  30.  
  31.  
  32. How to play (the long version, including shortcuts)
  33.      The first time you run Sokoban, it will prompt you to enter a new player╒s name. If it doesn╒t, either select your name from the players menu to pick up where you left off, or select New Player╔ from the Players menu and make an entry for yourself. Sokoban keeps track of which levels you have solved in the ╥Sokoban Scores╙ file; this is normally in the same folder as Sokoban, but may also be placed in the Preferences folder.
  34.      The first level looks like this, except it╒s in color on color monitors:
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.      The treasures are the round things lying all over the place, and your job is to push them to the outlined squares. There are several ways to move. The most intuitive is probably to use the arrow keys to move up, down, left, or right. Shift-arrow key will move you as far as possible in that direction, including pushing treasures. Control-arrow key (if you have a control key) will move you as far as possible without pushing.
  50.      Instead of using the arrow keys, you can also use the traditional ╥vi keys╙ h, j, k, l to move left, down, up, right respectively (those are the keys used by the Unix version of sokoban and also by the Unix text editor vi.). Or use w, a, s, d or 2, 4, 6, 8. Of course, shift and control work with all of these.
  51.      You can also use the mouse to move. The cursor indicates which way you╒ll move if you press the button (and you can drag yourself around, too). If you see a cross hair cursor, then clicking will move you to where you clicked by the shortest possible route. Or if you don╒t want to use the mouse to move long distances, hold down the option key. Then move the marquee around (with your favorite movement keys); when you let go of the option key, the player will zip to the square you selected (if there╒s a clear path).
  52.      If you want to zip to a square diagonally next to you, there is a shortcut. Instead of clicking there or pressing <option> left-up, pressing one of the diagonally located keys on the keypad (7, 9, 1, or 3) will do the same thing. You can also use the q, e, z, x, or c keys if you╒re left handed.
  53.      There are also several menu items that will help you. From the File menu, you can restart the level if you get stuck. You can also make a temporary save before you mess up, and revert to it when you get stuck later. Or if you╒re really stuck, you can move on and try another level, then come back later and work on the unsolved levels.
  54.      From the Edit menu, you can undo (and then redo) up to 10 000 of your last moves. So a couple of extra key presses in the heat of playing doesn╒t mean having to start the level over. There are many shortcuts for undoing: press function key F1 (often labeled ╥undo╙), or the ESC or ` key (in the upper left corner of your keyboard). Shift-F1 (or shift-ESC or shift-`) is a shortcut for redo. Option-undo will undo several times, back until the previous push of a treasure (you can also use the option-key with redo, and it works with both the keyboard equivalents and the menu commands themselves).
  55.  
  56.  
  57. Designing your own levels
  58.      If you want to design your own levels, it╒s easy. Just create a text file in your favorite word processor (use a monospaced font such as Monaco). Then use the ╘Play Screen From File╔╒ command in the File menu to try it out, or just drag and drop the text file on Sokoban╒s icon. For example, this is what a file for level 1 looks like, along with an explanation of the symbols to use.
  59.  
  60.     #####
  61.     #   #
  62.     #$  #
  63.   ###  $##
  64.   #  $ $ #
  65. ### # ## #   ######
  66. #   # ## #####  ..#
  67. # $  $          ..#
  68. ##### ### #@##  ..#
  69.     #     #########
  70.     #######
  71.  
  72. Symbols used in the screen files:
  73. ╥ ╙ (space)╤An empty space (floor)
  74. ╥#╙╤Walls (the walls will be curved and shadowed automatically)
  75. ╥.╙╤Target or goal square
  76. ╥$╙╤Treasure
  77. ╥*╙╤Treasure on a goal area
  78. ╥@╙╤You (the player)
  79. ╥+╙╤You standing on a goal square.
  80.  
  81.      There is a limit of 31 columns and 17 rows; additional rows and columns will be ignored. If you make your own screens, send them to me and I╒ll credit you and include them in the next release of the program.
  82.      If you want to put more than one level in a file, that╒s OK. Look at the ╥Make your own levels example╙ file included with Sokoban for instructions and examples. Sokoban can also open levels used by the other two Macintosh Sokoban implementations, MacSokoban (by Ingemar Ragnemalm) and JSokoban (by Jason Townsend).
  83.  
  84.  
  85. Playing on more than one computer
  86.      If you want to play Sokoban on more than one computer (for example, if you have to go to a computer lab to play and never use the same computer twice), just keep the ╥Sokoban Scores╙ file in the same folder as Sokoban. It will find it there and remember which levels you have completed in that file. You can also start playing by double-clicking on the score file you wish to use.
  87.  
  88.  
  89. Common problems
  90.      Some people have reported problems that I think are due to the score file getting corrupted. If you get the error message ╥The ╘Sokoban Scores╒ file can╒t be opened. See the documentation for possible solutions,╙ try moving the ╥Sokoban Scores╙ file out of the Sokoban folder. When you next run Sokoban, it will create a fresh new score file; this new file should work fine, but will not contain a record of the levels you have completed. If you╒re handy with ResEdit, copy the ╘USER╒ resources from the old Sokoban Scores file into the new one to restore the memory of the completed levels.
  91.      I don╒t know how the score file gets corrupted; it has never happened to me. If you see this error and want to help, email me the error number that appears in the message (perhaps even email a copy of your score file so I can look at it and try to figure out what╒s wrong).
  92.  
  93.  
  94. History and other implementations
  95.      Sokoban first came out around 1982 or 1984 as a commercial game for NEC computers, and won a computer game contest in Japan. ╥Sokoban╙ is Japanese for ╥warehouse keeper╙, and the object was to push corrugated cardboard boxes around. (Thanks to Takeshi Miyazaki for this information). The ╥Original Levels╙ collection contains the levels from this version.
  96.      Several years ago, someone wrote versions of Sokoban for MS-DOS and Unix machines. The version I first played only had levels 1╨50. Then Joseph L. Traub collected another 35 levels and included them with XSokoban, his version for XWindows. These levels, along with a few more from the current XSokoban distribution, form my ╥Extra╙ collection.
  97.      In 1993, Phil Shapiro (pshapiro@aol.com) made the levels in ╥Simple Sokoban╙ for those who found the original levels too difficult. He included the article ╥Educational Value of Sokoban,╙ which describes his motivations and why you should be happy if your child spends all his time playing Sokoban.
  98.      ╥Still More!╙ consists of levels by J. Franklin Mentzer (wryter@aol.com).
  99.      Radio Shack made a game called ╙IQ Carrier,╙ which is a handheld sokoban game with 28 new levels. A fan of both games sent me the levels from IQ Carrier and recommended the game for those who would like a nice portable version of sokoban. Those levels are included in Sokoban 2.0.
  100.      I have heard of versions of sokoban for various video game machines (Nintendo, for one). Some are called sokoban and one is called Boxxle. These games supposedly include hundreds more levels, but unfortunately, I have never seen them. If anyone has the levels, I╒ll be glad to include them with a new release of Sokoban. (In other words, please send them to me!)
  101.      This is my own implementation for the Macintosh. It does not use any source code from other versions, just their levels.
  102.      I know of two other Macintosh sokoban implementations: MacSokoban by Ingemar Ragnemalm (ingemar@lysator.liu.se), and JSokoban by Jason Townsend (JasonTownsend@mail.utexas.edu).
  103.      I don╒t plan to port this program to Windows, but a free Windows version of the game (by someone else) does exist. In my not very humble opinion, it╒s not nearly as good as this Mac version. The inferior Windows version can probably be found at your local users╒ group or online service, or I╒ll send it to you if you send me a disk and postage or $3 as outlined in the next section. Just a warning: the Windows version I have only includes the 50 original levels.
  104.  
  105.  
  106. Hints and strategies [If you have any good ones to share, let me know]
  107.      I have solved all of the original levels and those in the ╥Extra╙ collection, so they are all possible. I don╒t remember how to solve all of them any more, though, so I probably can╒t give hints. Besides, part of the fun of the game is accomplishing something difficult yourself. If you do get stuck, you might be able to try a simpler version of the level in the Simple Sokoban collection. If a simpler version is available, the ╥Try Simpler Level╙ command in the File menu will take you to it. To return, choose ╥Original Levels╙ from the Collections menu.
  108.      I have it on good faith that all of the other levels are solvable, but I haven╒t finished them yet.
  109.  
  110.  
  111. Distribution, Legal Stuff, and reaching me
  112.      This implementation is Freeware, but is ⌐ 1996 by Scott Lindhurst. Distribution by nonprofit users╒ groups and online services is permitted as long as this documentation file is included unchanged. For-profit distribution on CD-ROM or other media is permitted if you send me a copy of the disc or an opportunity to purchase the disc at a nominal price. I can be reached by email:
  113.      lindhurs@math.wisc.edu
  114. US Mail:
  115.      1107 Erin St.
  116.      Madison, WI 53715-1845
  117. or if those don╒t work:
  118.      123 Millwood Dr.
  119.      Tonawanda, NY 14150-5513.
  120.      The latest version of Sokoban will be available through my home page on the World Wide Web at http://www.math.wisc.edu/~lindhurs/ or by FTP from better FTP sites worldwide (especially at mirrors of sumex-aim.stanford.edu and mac.archive.umich.edu). I also attempt to email announcements of new versions (not more than one or two a year) to fans who have sent me email.
  121.      I will mail you the latest version of Sokoban if you include a disk and sufficient postage or $3 (preferably cash) to cover the cost of a disk, mailer, and postage. If you don╒t live in the US, please be sure to send enough to cover return postage╤I don╒t get paid for writing Sokoban, and I don╒t make oodles of money as a graduate student.
  122.  
  123.  
  124. Comments, suggestions, even (gasp!) bugs
  125.      These can all be reported to me at the above address. If you are the first to report a bug, I╒ll even thank you in the About box of the next version of Sokoban.
  126.      The best way to contact me is by email. I usually respond within a couple days, unless I╒m out of town. If you contact me by US mail, please include a SASE or at least a stamp for a faster reply. That way I╒ll feel bad if I don╒t respond to your letter and I won╒t have to go out to buy stamps before I can reply.
  127.  
  128.  
  129. About the author
  130.      I╒m a grad student in mathematics at the University of Wisconsin╤Madison studying computational number theory (mostly computation in finite fields, but also some other algorithms). Programming has been a hobby of mine since my parents got an Apple ][+ back in 1980 or so. When I got my Mac Plus, I wanted to learn all about it. Eventually (after about 4 years and some minor projects), I decided to implement Sokoban and finally learn about programming with the Macintosh toolbox. And it worked. So if you want to hire someone working his way up the Mac learning curve (programming in Think and Metrowerks Pascal, including Object Pascal, although I also know some LISP, C, C++, ML, Prolog, and BASIC. [Does that make me a geek?]), I╒m available at least part time while I╒m in school. Drop me a line.
  131.      Sokoban was originally written in Think Pascal 3.0, on a Mac Plus running System 6, then System 7. Versions 1.2 and 2.0 were done on a Power Macintosh with Think Pascal 4.0.2.
  132.  
  133.  
  134. System requirements
  135.      Sokoban requires System 7, but should work on every machine capable of running it (including my 10 year old Mac Plus). Sokoban takes up so little memory that it should work under System 7 on a machine with as little as 2 megabyes of RAM. If enough people complain about lack of system 6 support, I╒ll put it back in. I removed it while reworking the source because it made the changes much easier and I didn╒t think anyone ran system 6 anymore.
  136.  
  137.  
  138. Version history
  139.  
  140. 2.0 (February 2, 1996)
  141. ╨ 10000 undos possible (and they require less memory than the 500 undos did in version 1.2)
  142. ╨ After restarting, you can Redo to replay the moves you made the first time around.
  143. ╨ System 7 only (but now system 7 savvy: it handles the basic 4 apple events).
  144. ╨ Completely reorganized the code.
  145. ╨ Level Collections! Now the old levels 51-85 are part of the ╥Extra╙ collection.
  146. ╨ More levels; changed Extra levels 51-53 to be harder (they were way too easy).
  147. ╨ Multiple levels in a text file.
  148. ╨ Scores file created in same folder as Sokoban, if possible.
  149. ╨ Can begin by double-clicking a score file.
  150. ╨ Looks better on 256-color monitors. (thanks to Scott Armitage)
  151. ╨ Lets you admire a finished level before continuing to the next one.
  152. ╨ Much cooler about box
  153. ╨ Balloon help for the menus
  154. ╨ Actually requires less memory than version 1.2!
  155.  
  156. 1.2 (Oct. 3, 1994): Fixed the wall on level 13 and added diagonal key support (inspired by a beta copy of Jason Townsend╒s JSokoban).
  157.  
  158. 1.1.1 (Sept. 8, 1993): Fixed a bug that made the display all black on machines with monochrome monitors, color QuickDraw, and system 6 or lower.
  159.  
  160. 1.1 (April 27, 1993): Thanks to Russell Owen for all his suggestions and icons.
  161. ╨ Better looking walls and graphics.
  162. ╨ Bigger undo buffer (now you can undo 500 moves)
  163. ╨ New movement options: click to move to a square, option-arrow to select a square to move to, drag with the mouse to move the player.
  164. ╨ Faster shortest path algorithm (the old one was brain dead).
  165. ╨ Supports drag-and-drop of screen files (text files).
  166. ╨ Secret level added.
  167.  
  168. 1.0: (April 18, 1992): First public release.
  169.  
  170.  
  171.  
  172. Scott Lindhurst, February 1, 1996.